package com.iotp.service.roleAuthorityRef;

import com.iotp.dao.roleAuthorityRef.RoleAuthorityRefDAO;
import com.iotp.entity.roleAuthorityRef.RoleAuthorityRef;
import com.iotp.service.base.BaseServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * 角色-权限-关联业务接口实现类
 * @author Assassin
 */
@Service("roleAuthorityRefService")
public class RoleAuthorityRefServiceImpl extends BaseServiceImpl implements RoleAuthorityRefService {

	// Fields

	@Autowired
	private RoleAuthorityRefDAO roleAuthorityRefDAO;// 角色-权限-关联DAO接口

	// Methods

   /**
	* 添加角色-权限-关联
	* @param refId 标识信息-关联Id[主键值]
	* @param orgId 标识信息-机构Id
	* @param roleId 关联信息-角色Id
	* @param authorityId 关联信息-权限Id
	* @return Long refId 添加后的数据库主键值
	*/
	@Override
	public Long add(Long refId, Long orgId, Long roleId, Long authorityId) {
		// 构造角色-权限-关联参数实体
		RoleAuthorityRef roleAuthorityRef = new RoleAuthorityRef();
		roleAuthorityRef.setRefId(refId);// Set 标识信息-关联Id[主键值]
		roleAuthorityRef.setOrgId(orgId);// Set 标识信息-机构Id
		roleAuthorityRef.setRoleId(roleId);// Set 关联信息-角色Id
		roleAuthorityRef.setAuthorityId(authorityId);// Set 关联信息-权限Id
		// 调用角色-权限-关联DAO接口
		this.roleAuthorityRefDAO.insert(roleAuthorityRef);
		return roleAuthorityRef.getRefId();
	}

   /**
	* 删除角色-权限-关联
	* @param roleId 角色Id
	*/
	@Override
	public void delete(Long roleId) {
		// 调用角色-权限-关联DAO接口
		this.roleAuthorityRefDAO.delete(roleId);
	}

   /**
	* 查询角色-权限-关联
	* @param roleId 角色Id
	*/
	@Override
	public List<RoleAuthorityRef> queryList(Long roleId) {
		// 调用角色-权限-关联DAO接口
		return this.roleAuthorityRefDAO.selectList(roleId);
	}

}